function responseCreateRoom(){
	alert("Create room");
}

function requestJoinedRoom(){
	var params = {};
	params.playboardName = "GAME 1";
	send(BaseCommandDefinition.get("requestCreateRoom"), params);
}

var ROW_NUMBER = 8;
var COLUMN_NUMBER = 8;
var ITEM_WIDTH = 80;

//variables
var is_hint = false;	// Có đang hint hay không
var best_score = 0;
var score = 0;
var best_combo = 0;
var combo = 0;
var doigt_init_x = 0;
var doigt_init_y = 0;
var $touched_item;		// Quân cờ đang được touch
var $moved_item;		// Quân cờ bị moved
var is_item_touching = false;
var is_item_moving = false;
var hint_timeout;		// Biến timeout dùng cho hint

var debug_mode = false;

var itemList;
var tmp_item_list = [];			// Bản sao của itemList, đánh dấu những quân đã bị ăn và chưa bị ăn
var tab_test = [];				// Mảng data dùng để check quân cờ có thể move hay không
var is_turn = true;		// Lượt đi =true: là client đến lượt đi. False: client hết lượt đi

var multiple = true;	// Xác định chơi single hay multiplayer

function requestCreateBoard(){
	var params = {};
	var isSent = send(BaseCommandDefinition.get("requestCreateBoard"), params);
}

function requestMoveItem(row, column, new_row, new_column){
	var params = {row: row, column: column, newRow: new_row, newColumn: new_column};
	var isSent = send(BaseCommandDefinition.get("requestMoveItem"), params);
	
	console.log("requestMoveItem");
}

function responseMoveItem(response){
	
	console.log("Response Move Item: ", response);
	
	if(response.status){	  // Sau khi di chuyển, kiểm tra có ăn hay ko
		  
		  var _tmpItemList = createItemList(response.tmpItemListString);
		  var _itemList = createItemList(response.itemListString);
		  
		  if(response.is_playing)
		  {
			  animationFinishItems(_tmpItemList);	// Animation ăn item
			  
			  setTimeout(function () {			  			
				  animationInsertNewItems(_itemList);	// Lấp đầy những quân bị ăn
				
				  setTimeout(function () {
					  requestCheckAllItems();
				  }, 400);
			  }, 400);
	  		}
			else
			{
				animationMoveItem(response.row, response.column, response.newRow, response.newColumn);
				
				setTimeout(function () {
					animationFinishItems(_tmpItemList);
					  
					setTimeout(function () {
						animationInsertNewItems(_itemList);	// Lấp đầy những quân bị ăn
					}, 400);
				}, 300);
			}
	}
	else	// Revert lại move item (hầu như ko xảy ra)
	{
		if(response.is_playing)	// User playing mới revert Move Items
			revertMoveItem(response.row, response.column, response.newRow, response.newColumn);
	}
}

function responseCreateBoard(response){
	console.log("responseCreateBoard", response);
	
	$("#main").hide();
	$("#createGameWin").hide();
	$("#board").show();
	
	itemList = createItemList(response.itemListString);
	is_turn = response.is_turn;
	
	initEvent();
	
	$('#zone_message').html('');

	score = 0;
	combo = 0;

	clearTimeout(hint_timeout);
	$('.hint').removeClass('hint');
	is_hint = false;
	
	var content = "";
	var item = null;
  	
	for (var i = 0 ; i < ROW_NUMBER ; i++) {		  
		for (var j = 0 ; j < COLUMN_NUMBER ; j++) {
			item = itemList[i][j];
	      
			content += '<div class="icone icone_' + item + '" data-row="' + i + '" data-col="' + j + '" data-icone="' + item + '" style="top: ' + Number(i*ITEM_WIDTH) + 'px; left: ' + Number(j*ITEM_WIDTH) + 'px;"></div>';
		}
	}  
  
	// Render những div quân cờ vào id "zone_jeu"
	$('#zone_jeu').html(content);
}

function requestCheckAllItems(){
	var params = {};
	var isSent = send(BaseCommandDefinition.get("requestCheckAllItems"), params);
	
	console.log("requestCheckAllItems");
}

function responseCheckAllItems(response){	
	console.log("responseCheckAllItems: ", response);
	
	if(response.is_playing)
	{
		if(response.status)	// Sau khi di chuyển, kiểm tra có ăn hay ko
		{	  	
			var _tmpItemList = createItemList(response.tmpItemListString);
			var _itemList = createItemList(response.itemListString);
			
			animationFinishItems(_tmpItemList);
				  
			setTimeout(function () {
				animationInsertNewItems(_itemList);	// Lấp đầy những quân bị ăn
				
				setTimeout(function () {
					requestCheckAllItems();
				}, 400);
			}, 400);
		}
		else
		{
			is_turn = false;
		}
	}
	else
	{
		if(response.status)	// Sau khi di chuyển, kiểm tra có ăn hay ko
		{	  	
			var _tmpItemList = createItemList(response.tmpItemListString);
			var _itemList = createItemList(response.itemListString);
			
			animationFinishItems(_tmpItemList);
				  
			setTimeout(function () {
				animationInsertNewItems(_itemList);	// Lấp đầy những quân bị ăn
			}, 400);
		}
		else
		{
			is_turn = true;
			showHint();
			is_item_moving = false;
		}
	}
}

/*
 * Convert itemListString to itemList array
 */
function createItemList(itemListString){
	
	var tmpArray = itemListString.split(/,/);
	var itemList = [];
	
	for(var i = 0; i < ROW_NUMBER; i++)
	{
		itemList[i] = [];
		for(var j = 0; j < ROW_NUMBER; j++)
		{
			itemList[i][j] = parseInt(tmpArray[i * ROW_NUMBER + j]);
		}
	}
	
	return itemList;
}

/*
 * Init event touch or click item
 */
function initEvent(){
	console.log("Init event");
	
	var is_dragmove = false;
	var row_index = 0;
	var column_index = 0;
	
	$('.icone').live('dragstart', function (e) {	// prevent image dragging
		e.preventDefault();
	});

	$('#zone_message').live('touchmove mousemove', function (e) {	// prevent window scrolling
	    e.preventDefault();
	});
	
	// xác định quân cờ có đang đc touch thông qua biến: is_item_touching
	$('.icone').live('touchstart mousedown', function (e) {
		
		if(!is_turn) return;
		
		console.log("touch quân cờ");
		if (!is_item_touching && !is_item_moving) {
			is_dragmove = false;
			$touched_item = $(this);
			$touched_item.css('z-index', 20);
			row_index = Number($touched_item.attr('data-row'));
			column_index = Number($touched_item.attr('data-col'));
			
			if (e.originalEvent.type == 'touchstart') {
				doigt_init_x = e.originalEvent.touches[0].clientX;
				doigt_init_y = e.originalEvent.touches[0].clientY;
			}
			
			if (e.originalEvent.type == 'mousedown') {
				doigt_init_x = e.originalEvent.clientX;
				doigt_init_y = e.originalEvent.clientY;
			}
			
			is_item_touching = true;
	    }
	});
	  
	// Xác định vị trí của con trỏ chuột
	$('#zone_jeu').live('touchmove mousemove', function (e) {
	    e.preventDefault();			// prevent window scrolling
		
	    if(!is_turn) return;;
	    
		//console.log("Move vào bàn cờ");
	    if (is_item_touching) {
	    	var distance_x, distance_y;

	    	if (e.originalEvent.type == 'touchmove') {
	    		distance_x = e.originalEvent.touches[0].clientX - doigt_init_x;
	    		distance_y = e.originalEvent.touches[0].clientY - doigt_init_y;
	    	}
	    	
	    	if (e.originalEvent.type == 'mousemove') {
	    		distance_x = e.originalEvent.clientX - doigt_init_x;
	    		distance_y = e.originalEvent.clientY - doigt_init_y;
	    	}

	    	if (Math.abs(distance_x) > Math.abs(distance_y)) {
	    		if (distance_x > ITEM_WIDTH / 2) {
	    			// right
	    			if (column_index < COLUMN_NUMBER - 1) {
	    				is_dragmove = true;
	    				$('.icone').removeClass('click adjacent');
	    				moveItem(row_index, column_index, row_index, column_index + 1);
	    			}
	    		}

	    		if (distance_x < -ITEM_WIDTH / 2) {
	    			// left
	    			if (column_index > 0) {
	    				is_dragmove = true;
	    				$('.icone').removeClass('click adjacent');
	    				moveItem(row_index, column_index, row_index, column_index - 1);
	    			}
	    		}
	    	} 
	    	else 
	    	{
	    		if (distance_y > ITEM_WIDTH / 2) {
	    			// down
	    			if (row_index < ROW_NUMBER - 1) {
	    				is_dragmove = true;
	    				$('.icone').removeClass('click adjacent');
	    				moveItem(row_index, column_index, row_index + 1, column_index);
	    			}
	    		}

	    		if (distance_y < -ITEM_WIDTH / 2) {
	    			// up
	    			if (row_index > 0) {
	    				is_dragmove = true;
	    				$('.icone').removeClass('click adjacent');
	    				moveItem(row_index, column_index, row_index - 1, column_index);
	    			}
	    		}
	    	}
	    }
	  });
	  
	  // Khi nhả chuột
	  $('#zone_jeu').live('touchend mouseup', function (e) {
		  if(!is_turn) return;;
		  
		  if (is_item_touching) {
			  is_item_touching = false;
			  $touched_item.css('z-index', 10);
			  
			  if(!is_dragmove){
		        verifyClick($touched_item);
		      }
		  }
	  });
}

/*
 * Di chuyển quân cờ
 */
function moveItem(row, column, new_row, new_column) {
	
	// Animation move
	//console.log("Move (" + row + ", " + column + ") -> (" + new_row + "," + new_column + ")");
	
	is_item_touching = false;
	is_item_moving = true;
	
	clearTimeout(hint_timeout);
	
	$moved_item = $('.icone[data-row=' + new_row + '][data-col=' + new_column + ']');

	$touched_item.css('z-index', 10);

	// Switch item positions
	var item = itemList[row][column];
	var new_item = itemList[new_row][new_column];

	$touched_item.attr('data-row', new_row);
	$touched_item.attr('data-col', new_column);
	$moved_item.attr('data-row', row);
	$moved_item.attr('data-col', column);

	$touched_item.css({
		'left': new_column*ITEM_WIDTH,
		'top': new_row*ITEM_WIDTH
	});
  
	$moved_item.css({
		'left': column*ITEM_WIDTH,
		'top': row*ITEM_WIDTH
	});

  itemList[row][column] = new_item;
  itemList[new_row][new_column] = item;
  /*********/
  
  var checkValid = verifyAllItems();
  
  if(checkValid)	// Nếu nước đi tiếp theo ăn thì remove hint
  {
	  $('.hint').removeClass('hint');
	  is_hint = false;
  }	  
  
  setTimeout(function () {
	  
	  if(checkValid)	// Nếu client verify ăn
	  {
		  requestMoveItem(row, column, new_row, new_column);
	  }	  
	  else	// Nước đi ko ăn => Revert lại vị trí 2 quân cờ
	  {	
		  revertMoveItem(row, column, new_row, new_column);
	  }	  

  	}, 300);
};

function revertMoveItem(row, column, new_row, new_column){
	$touched_item.attr('data-row', row);
  	$touched_item.attr('data-col', column);
  	$moved_item.attr('data-row', new_row);
  	$moved_item.attr('data-col', new_column);

  	$touched_item.css({
	  'left': column * ITEM_WIDTH,
	  'top': row * ITEM_WIDTH
  	});
  
  	$moved_item.css({
	  'left': new_column*ITEM_WIDTH,
	  'top': new_row*ITEM_WIDTH
  	});
  	
 // Switch item positions
	var item = itemList[row][column];
	var new_item = itemList[new_row][new_column];
  	
  	itemList[row][column] = new_item;
  	itemList[new_row][new_column] = item;
  
  	is_item_moving = false;
  
  	showHint();

  	$touched_item = undefined;
	$moved_item = undefined;
}

function animationMoveItem(row, column, new_row, new_column){
	
	console.log("animationMoveItem: [" + row + "," + column + "] -> [" + new_row + "," + new_column + "]");
	
	$touched_item = $('.icone[data-row=' + row + '][data-col=' + column + ']');
	$moved_item = $('.icone[data-row=' + new_row + '][data-col=' + new_column + ']');
	
	$touched_item.css('z-index', 10);
	
	$touched_item.attr('data-row', new_row);
  	$touched_item.attr('data-col', new_column);
  	$moved_item.attr('data-row', row);
  	$moved_item.attr('data-col', column);

  	$moved_item.css({
	  'left': column * ITEM_WIDTH,
	  'top': row * ITEM_WIDTH
  	});
  
  	$touched_item.css({
	  'left': new_column*ITEM_WIDTH,
	  'top': new_row*ITEM_WIDTH
  	});
  	
  	// Switch item positions
	var item = itemList[row][column];
	var new_item = itemList[new_row][new_column];
  	
  	itemList[row][column] = new_item;
  	itemList[new_row][new_column] = item;
  
  	$touched_item = undefined;
	$moved_item = undefined;
}

function showHint(){
	// Display hint after a few seconds
	
	hint_timeout = setTimeout(function () {
		is_hint = true;
		checkCanMove();
    }, 5000);
}

function animationFinishItems(_tmpItemList){
	// Remove những quân đã bị ăn
	for (var i = 0; i < ROW_NUMBER; i++) {
		for (var j = 0 ; j < COLUMN_NUMBER; j++) {
			
			//console.log("[" + i + ", " + j + "] => " + _tmpItemList[i][j]);
			
			if (_tmpItemList[i][j] == 1) {          
				itemList[i][j] = 0;
				console.log("Remove: [" + i + "," + j + "]");
				
				$('.icone[data-row=' + i + '][data-col=' + j + ']').fadeOut(300, function () { $(this).remove(); });	// Animation remove quân cờ
		  
				// Hiển thị điểm được ăn trên từng con cờ
				var points = 10;
				var $aff_score = $('<div class="aff_score" style="left:' + j*ITEM_WIDTH + 'px; top:' + i*ITEM_WIDTH + 'px;">+' + points + '</div>');
				$('#zone_jeu').append($aff_score);
				score += points;
			}          
		}
	}

	$('#current_score_num').html(score);

	setTimeout(function () {
		$aff_score.fadeOut(400, function () { $('.aff_score').remove(); });
		$('#zone_message').html('');
	}, 700);

}

/*
 * Tạo ra những quân cờ mới thay thế cho những quân cờ đã bị ăn
 */
function animationInsertNewItems(new_item_list) {
	
	for (var i = ROW_NUMBER-1; i >= 0 ; i--) {
		for (var j = 0 ; j < COLUMN_NUMBER; j++) {

			if (itemList[i][j] == 0) {
				// look above for an icon to fill the hole
				var k = 1;
				while((i - k) >= 0 && itemList[i-k][j] == 0) {
					k++;
				}

				if ((i - k) < 0) {  // Random quân tại vị trí trống	
					// no icon found above : create random new icon
					var random_item = new_item_list[i][j];
					
					$new_icon = $('<div class="icone icone_' + random_item + '" data-row="' + i + '" data-col="' + j + '" data-icone="' + random_item + '"></div>');
					$new_icon.css({
						'left': j*ITEM_WIDTH,
						'top': -ITEM_WIDTH
					});
				  
					$('#zone_jeu').append($new_icon);
          
					$new_icon.animate({	// Animation rớt từ trên xuống ô trống
						'top': i*ITEM_WIDTH
					}, 0);
          
					itemList[i][j] = random_item;
				} 
				else 	// Chuyển quân trên xuống quân dưới
				{
					// icon found above : icon falling animation
					var $icone_chute = $('.icone[data-row=' + (i - k) + '][data-col=' + j + ']');
					// update icon properties (correct line and column numbers)
					$icone_chute.attr('data-row', i);
					$icone_chute.css('top', i*ITEM_WIDTH);

					itemList[i][j] = itemList[i-k][j];
					itemList[i-k][j] = 0;
				}
			}
		}
  	}
};

/*
 * Hiển thị những quân xung quanh có thể move xung quanh quân được click (hoặc move nếu click những quân có thể move)
 */
function verifyClick($icone_test) {
	var row = 0;
	var column = 0;
	
	if(!$('.icone.click').length)	// Click lần đầu
	{
		console.log("Click lần đầu");
		
		$icone_test.addClass('click');
		new_row = Number($icone_test.attr('data-row'));
		new_column = Number($icone_test.attr('data-col'));
		showItemsCanMove(new_row, new_column);
	} 
	else 	// Click những lần sau
	{
		console.log("Click lần sau");
	
		$icone_ref = $('.icone.click');
		row = Number($icone_ref.attr('data-row'));
		column = Number($icone_ref.attr('data-col'));
		new_row = Number($icone_test.attr('data-row'));
		new_column = Number($icone_test.attr('data-col'));
		
		// Nếu click những vùng đang chọn, click sẽ move quân cờ
		if ((row == new_row && column == new_column - 1) ||
		  (row == new_row && column == new_column + 1) ||
		  (row == new_row - 1 && column == new_column) ||
		  (row == new_row + 1 && column == new_column) ) 
		{
			$touched_item = $icone_ref;
			moveItem(row, column, new_row, new_column);
			$('.icone').removeClass('click adjacent');
		} 
		else // Click sang những vùng khác, sẽ show những nước đi có thể xung quanh quân được chọn
		{
			$('.icone').removeClass('click adjacent');
			$icone_test.addClass('click');
			showItemsCanMove(new_row, new_column);
		}
	}
};

/*
 * Hiển thị trạng thái là quân có thể move xung quanh quân cờ được click
 */
function showItemsCanMove(row, column) {
	if (row > 0) {
		$('.icone[data-row=' + (row-1) + '][data-col=' + column + ']').addClass('adjacent');
	}
	
	if (column > 0) {
		$('.icone[data-row=' + row + '][data-col=' + (column-1) + ']').addClass('adjacent');
	}
	
	if (column < COLUMN_NUMBER-1) {
		$('.icone[data-row=' + row + '][data-col=' + (column+1) + ']').addClass('adjacent');
	}
  
	if (row < ROW_NUMBER-1) {
		$('.icone[data-row=' + (row+1) + '][data-col=' + column + ']').addClass('adjacent');
	}
}

/*
 * Kiểm tra có nước cờ nào có thể move trên cả bàn cờ hay không. nếu có thì show hint các quân cờ có thể move
 * Return:
 * 		- true : có thể move
 * 		- false: không thể move
 */
function checkCanMove() { 
	
	console.log("Check can move");
	
	var is_can_move = false;
	var hint_displayed = false;
	var nb_possible_moves = 0;

	for (var i = 0; i < ROW_NUMBER; i++) {
		tab_test[i] = [];
    	for (var j = 0 ; j < COLUMN_NUMBER; j++) {
    		tab_test[i][j] = itemList[i][j];
	    }
	}

	for (var i = 0; i < ROW_NUMBER; i++) {
	    for (var j = 0 ; j < COLUMN_NUMBER; j++) {
	      // test right move
	    	if (j < COLUMN_NUMBER-1) {
	    		tab_test[i][j] = itemList[i][j+1];
	    		tab_test[i][j+1] = itemList[i][j];
	    		
	    		if (verifyItemCanMove(i, j)) {
	    			is_can_move = true;
	    			nb_possible_moves++;
	    			
	    			if(debug_mode){
	    				$('.icone[data-row=' + i + '][data-col=' + (j+1) + ']').addClass('hint');
	    			}
	    			
	    			if (is_hint && !hint_displayed) {
	    				$('.icone[data-row=' + i + '][data-col=' + (j+1) + ']').addClass('hint');
	    				hint_displayed = true;
	    			}
	    		}
	        
	    		if (verifyItemCanMove(i, j+1)) {
	    			is_can_move = true;
	    			nb_possible_moves++;
	    			if(debug_mode){
	    				$('.icone[data-row=' + i + '][data-col=' + j + ']').addClass('hint');
	    			}
	    			
	    			if (is_hint && !hint_displayed) {
	    				$('.icone[data-row=' + i + '][data-col=' + j + ']').addClass('hint');
	    				hint_displayed = true;
	    			}
	    		}
	        
	    		tab_test[i][j] = itemList[i][j];
	    		tab_test[i][j+1] = itemList[i][j+1];
	    	}

	    	// test down move
	    	if (i < ROW_NUMBER-1) {
	    		tab_test[i][j] = itemList[i+1][j];
	    		tab_test[i+1][j] = itemList[i][j];
	    		if (verifyItemCanMove(i, j)) {
	    			is_can_move = true;
	    			nb_possible_moves++;
	    			if(debug_mode){
	    				$('.icone[data-row=' + (i+1) + '][data-col=' + j + ']').addClass('hint');
	    			}
	    			
	    			if (is_hint && !hint_displayed) {
	    				$('.icone[data-row=' + (i+1) + '][data-col=' + j + ']').addClass('hint');
	    				hint_displayed = true;
	    			}
	    		}
	        
	    		if (verifyItemCanMove(i+1, j)) {
	    			is_can_move = true;
	    			nb_possible_moves++;
	    			
	    			if(debug_mode){
	    				$('.icone[data-row=' + i + '][data-col=' + j + ']').addClass('hint');
	    			}
	    			
	    			if (is_hint && !hint_displayed) {
	    				$('.icone[data-row=' + i + '][data-col=' + j + ']').addClass('hint');
	    				hint_displayed = true;
	    			}
	    		}
	    		
	    		tab_test[i][j] = itemList[i][j];
	    		tab_test[i+1][j] = itemList[i+1][j];
	    	}
    	}
	}

	if(nb_possible_moves <= 3) {
	    if(nb_possible_moves <= 1) {
	    	$('#moves').addClass('critical').html(nb_possible_moves + '<br>move');
	    } else {
	    	$('#moves').removeClass('critical').html(nb_possible_moves + '<br>moves');
	    }
	} 
	else 
	{
	    $('#moves').removeClass('critical').html('');
	}
	  
	return is_can_move;
};

// Kiểm tra item(row, column) có thể ăn hay không (dùng để hint)	
function verifyItemCanMove(row, column) {
	var result = false;
	var item_value = tab_test[row][column];
	var vertical_number = 1;
	var horizontal_number = 1;
	
	var i;
	// up
	i = 1;
	while(row-i >= 0 && tab_test[row-i][column] == item_value) {
	    vertical_number++;
	    i++;
	}

	// down
	i = 1;
	while(row+i < COLUMN_NUMBER && tab_test[row+i][column] == item_value) {
	    vertical_number++;
	    i++;
	}
	
	// left
	i = 1;
	while(column-i >= 0 && tab_test[row][column-i] == item_value) {
		horizontal_number++;
		i++;
	}

	// right
	i = 1;
	while(column+i < ROW_NUMBER && tab_test[row][column+i] == item_value) {
	    horizontal_number++;
	    i++;
	}
	
	if (vertical_number >= 3) {
	    result = true;
	}
	if (horizontal_number >= 3) {
	    result = true;
	}
	if (tab_test[row][column] == 10) {
	    // hypercube
	    result = true;
	}
	
	return result;
};

/*
 * Check tất cả các quân cờ xem có quân nào ăn được hay không. Return true | false
 */
function verifyAllItems() {
	
	var result = false;
	
	for (var i = 0; i < ROW_NUMBER; i++) {
		tmp_item_list[i] = [];
		
		for (var j = 0; j < COLUMN_NUMBER; j++) {
			tmp_item_list[i][j] = false;
		}
	}

	for (var i = 0; i < ROW_NUMBER; i++) {
		for (var j = 0 ; j < COLUMN_NUMBER; j++) {
			if (verifyItem(i, j)) {
				result = true;
				break;
			}
		}
	}
	
	console.log("Client: check all item có ăn hay không => ", result);
	
	return result;
};

/*
 * Check quân cờ tại vị trí (row, column) xem có ăn được hay không
 * Result :
 * 		- true : nếu ăn được
 * 		- false: nếu không ăn được
 */
function verifyItem(row, column) {
	var result = false;
  
	var current_item_value = itemList[row][column];
  
	var vertical_item_num = 1;
	var horizontal_item_num = 1;
  
	var i;
	
	// Check dọc xuống
	if (!tmp_item_list[row][column]) {
		i = 1;
		while(row + i < COLUMN_NUMBER && itemList[row+i][column] == current_item_value && !tmp_item_list[row+i][column]) {
			vertical_item_num++;
			i++;
		}
    
		if (vertical_item_num >= 3) {	// Nếu ăn theo hàng dọc (quân ăn >= 3)
			result = true;
		}
	}

	// Check ngang
	if (!tmp_item_list[row][column]) {
		i = 1;
    
		while(column + i < ROW_NUMBER && itemList[row][column + i] == current_item_value && !tmp_item_list[row][column + i]) {
			horizontal_item_num++;
			i++;
		}

		if (horizontal_item_num >= 3) {	// Nếu ăn theo hàng ngang (quân ăn >= 3)
			result = true;
		}
	} 
  
	return result;
};

function turnOn(){
	is_turn = true;
	showHint();
}